package com.gengzp.system.facade;

import com.gengzp.common.model.role.entity.SysRole;

import java.util.Collection;
import java.util.List;

/**
 * @ClassName SysRoleFacade
 * @Description 系统角色门面层接口
 * @Author gengzp
 * @Date 2025/9/15 16:26
 */
public interface SysRoleFacade {

    /**
     * 根据id查询系统角色
     *
     * @param roleId 系统角色id
     * @return 系统角色
     */
    SysRole searchSysRoleById(Long roleId);

    /**
     * 根据id集合查询系统角色集合
     *
     * @param roleIds 系统角色id集合
     * @return 系统角色集合
     */
    List<SysRole> searchSysRolesByIds(Collection<Long> roleIds);

    /**
     * 查询所有系统角色
     *
     * @return 系统角色列表
     */
    List<SysRole> searchAllSysRoles();

    /**
     * 根据id编辑系统角色
     *
     * @param sysRole 系统角色
     */
    void editSysRoleById(SysRole sysRole);

    /**
     * 根据名称查询系统角色
     *
     * @param roleName 角色名
     * @return 系统角色
     */
    SysRole searchSysRoleByRoleName(String roleName);

}
